home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Topik / Topik - Disk 03 - Games (19xx)(Topik Public Domain)(PD)[WB].zip / Topik - Disk 03 - Games (19xx)(Topik Public Domain)(PD)[WB].adf / World / README < prev    next >
Text File  |  1989-04-28  |  8KB  |  196 lines

  1.  
  2.                          World for the Amiga version 1.02
  3.                          
  4.                  (not called AmigaW*rld for obvious reasons...)
  5.  
  6. This is Doug McDonald's text adventure game "WORLD".  See the original ReadMe
  7. file below for a description.  This version runs on any Amiga.  World
  8. requires about 100K of memory.  (200K if you copy the data file to a ram disk
  9. first, which makes for a faster game.)  
  10.  
  11.  
  12. To run from the workbench:
  13. --------------------------
  14.  
  15. Only the files World, World.info and q1text.dat are required. 
  16. Q1text.dat.info is optional.
  17.  
  18. To run World, simply double click on the World icon.  Q1text.dat must be in
  19. the same directory.
  20.  
  21. Alternatively, you can double click on the q1text.dat icon.  By selecting the
  22. q1text.dat icon and choosing 'Info' from the Workbench menu, you can enter
  23. the full path to the program World in the string gadget 'Default Tool'. 
  24. (This is initially set to 'World:World'.)  This way, you can drag (copy)
  25. q1text.dat to a ram disk, and double click on it there; World will then
  26. operate off of the ram disk, speeding up the game considerably.
  27.  
  28. World looks for "WIN" in the tooltypes.  It defaults to a 640 by 200 NEWCON:
  29. window.  To change this, click once on the World icon, select "Info" from the
  30. menu, and change the tooltypes.  
  31.  
  32. Example:  "WIN=NEWCON:0/0/640/400/WORLD" uses a 640 by 400 NEWCON: window.
  33.           This is for interlaced screens only.
  34.  
  35.           "WIN=CON:0/0/640/200/WORLD"  uses a 640 by 200 CON: window.  Use
  36.           this if you don't have Workbench 1.3 yet, or if you prefer to use
  37.           ConMan, or if you just don't want to use the NEWCON: device.
  38.  
  39.  
  40.  
  41. To run from the CLI:
  42. --------------------
  43.  
  44. (Note:  I use a stack of at least 10000 to run World.  I seriously doubt that
  45. this is actually necessary, but since I didn't write World, I don't really
  46. know its stack requirements.  It's never crashed on me with the default stack
  47. of 4000.  I feel safer using a large stack, though.)
  48.  
  49. Only the files World and q1text.dat are required.
  50.  
  51. 1>run World [-n][-c][-i][-N] [datafile]
  52.  
  53. Options:
  54.     -n      Uses a NEWCON: window so you can use the arrow keys to scroll
  55.             through previous commands, correct typing errors, etc.  This is
  56.             the default.
  57.             
  58.     -c      Uses a CON: window.  Use this option if you do not have Workbench
  59.             1.3 installed, or if you prefer to use conman, or if you simply
  60.             don't want to use NEWCON:.
  61.     
  62.     -i      For an interlaced workbench screen.  Opens a 640 by 400 window.
  63.     
  64.     -N      For a non-interlaced workbench screen.  Opens a 640 by 200 
  65.             window.  This is the default.
  66.  
  67. datafile    Optional.  Default is q1text.dat.  Included so that you can copy
  68.             q1text.dat to ram: and specify ram:q1text.dat on the command
  69.             line. Since World accesses q1text.dat throughout the game, this 
  70.             speeds up the game considerably.
  71.             
  72.             
  73.  
  74.  
  75.  
  76. Porting:
  77. --------
  78.  
  79. Porting to the Amiga only required recompiling on the Amiga.  To do the
  80. window and workbench stuff, the file 'wbstuff.c' was added, and a few lines
  81. were added to 'world.c' and a few to helper.c.  Don't worry about the messages
  82. about things overriding library symbols.  It's supposed to do that.  The
  83. lines added to 'world.c' and 'helper.c' are enclosed in 
  84.  
  85. #ifdef AMIGA
  86. #endif
  87.  
  88. so it can be easily moved to another computer.  Simply don't include the file
  89. 'wbstuff.c' if you port it to another computer.
  90.  
  91.  
  92. Enjoy,
  93.  
  94. Eric Kennedy       ejkst@cisunx.edu
  95. 1520 James St.
  96. Monroeville, PA  15146
  97. (412) 823-5165
  98.  
  99.  
  100. original README follows...
  101. ------------------------------------------------------------------
  102. This is the portable "C" version of my text adventure game "WORLD".
  103. It is a large game in the flavor of Adventure or Zork, and about as large.
  104. It is, however, a "sci-fi" type game somewhat like the commercial
  105. Infocom games "Planetfall" or "Starcross", but much larger.
  106.  
  107. The code is written to be quite portable. However, it does make a few
  108. assumptions. These are:
  109. 1.     Seven bit ASCII
  110. 2.     short int is at least 16 bits
  111. 3.     It MAY assume 2's complement arithmetic; I'm not sure.
  112. 4.     the read and write IO routines have to work for a second
  113.        argument which is a pointer to short
  114.  
  115. If your computer doesn't conform to those requirements, the program
  116. "vtxtcn" and the routine "speak" in "helper.c" will most definately
  117. need to be rewritten. There may be other problems as well, particularly
  118. if your machine sets the high bit of a char.
  119.  
  120. The program has been tested and compiles and runs properly on the following
  121. systems:
  122.  
  123. 1)  VAX/VMS Digital CC compiler. No particular tricks are needed.
  124. 2)  IBM PC-AT Xenix 1.00. It seems to be necessary to use the large
  125.     memory model, although I'm not sure why since it runs on the
  126.     same machine under DOS in the small model.
  127. 3)  IBM PC under Microsoft C version 4.00. It works in the default
  128.     small memory model if you compile with the -Os switch. Note
  129.     that on this setup you MUST link the main program World with
  130.     binmode.obj, provided by Microsoft, for it to work right.
  131.     Vtxtcn and vcnvrt must NOT be linked with binmode.obj.
  132.     This compiler generates a few harmless warning messages.
  133.     You may need to use EXEMOD to increase the stack size.
  134. 4)  VAX/4.3bsd Unix. No particular tricks needed.
  135.  
  136.     Instructions for generating world:
  137.  
  138. Once you have unpacked all the files, compile (and link if necessary)
  139. the preprocessor "vtxtcn.c". Then execute it. It will create a few
  140. .inc files and the run-time text base file "q1text.dat".
  141.  
  142. Then compile, (link) and execute "vcnvrt.c". It will generate more
  143. .inc files.
  144.  
  145. These .inc files generate the actual game data which is compiled
  146. into the final game program "world".
  147.  
  148. The main program, which contains seven files world.c, demons.c, helper.c,
  149. motion.c, parser.c, verbs1.c and verbs2.c is then compiled and,
  150. if necessary on your machine, linked. See above for possible special
  151. switches or link files for your machine. Special handling probably
  152. is not necessary for un-segmented Unix machines. Edit the file helper.c
  153. to change the pathname for the data file (q1text.dat), if desired.
  154.  
  155. The output of the above compilation process is the game program
  156. which should be named "world". It and "q1text.dat" are all that is
  157. necessary to run the game. The game generates save-position files called
  158. "world.sav".
  159.  
  160. A note on the file q1text.dat: this file is written as an array of
  161. shorts, rather than chars. It is so arranged, however, that if it is 
  162. in fact considered as bytes, there are absolutely linefeeds or
  163. carriagereturns sent to it. Thus on a record oriented machine like the
  164. VAX/VMS, it is a single record. On the IBM-PC/DOS, no conversion from
  165. lf to lf/cr or vice versa is ever required. Save files, on the other
  166. hand, may accidentally contain any control characters, so on a system
  167. like DOS in which the normal text mode does conversions of lf to lf/cr
  168. pairs you must use the special binary mode. None of these considerations 
  169. should apply to Unix. 
  170.  
  171.  
  172. Bugs: There are no known bugs. However, some are certain to show up if
  173. it is compiled on different machines, or if players exercise parts
  174. of the code I haven't frequently played with. Please send them to me.
  175.  
  176. There are Fortran versions of this game for the VAX, PDP-11, IBM-PC, and
  177. Apple Macintosh which implement a niftier user interface than this version.
  178. They will appear eventually (but not in source code) on various bulletin
  179. boards. The Mac version features the full Mac interface.
  180.  
  181. No claim is made to the effect that this program is an example of "good"
  182. programming practice, whatever that may be. In particular, anyone
  183. who can untangle the spaghetti in scan() will be awarded 8 assorted kazoos
  184. and 4 Bronx cheers.
  185.  
  186. Please don't cheat by reading the text file!
  187. Cheating by reading the code is only slightly more cowardly!
  188.  
  189. Doug Mcdonald
  190. Department of Chemistry
  191. University of Illinois
  192. Urbana Ill. 61801
  193.  
  194.  
  195. address: mcdonald@uiucuxe
  196.